Saltar al contenido principal

Albor oAuth

Ver en Git


Albor

El flujo de oauth comienza con:

GET /auth/albor

Es un endpoint exclusivo para extensiones.

Respuesta:

{
"authorization_url": "https://alboragrolab.fusionauth.io/oauth2/...."
}

Se deberá redirigir al usuario (en una pestaña nueva) a esa URL.

EL usuario ingresa credenciales en Albor y redirigirá al usuario a:

GET /auth/albor/callback

incluyendo en la queryString los códigos de respuesta. El back obtendrá las credenciales y le servirá al usuario un html indicando si salió todo bien o no. Esos archivos están en features/oauth/html.

Al mismo tiempo que el back sirve el archivo, envía una notificación por SSE al canal del usuario-extensión. El evento es el EXT_ONLINE_EVENT.V1 y el canal es EXT.V1.

Según el resultado, el payload del mensaje será:

  • Flujo finalizado correctamente:
{
"event_name": "EXT_ONLINE_EVENT.V1",
"event_payload": {
"client_id": "b12b3d65-359b-463a-9dd8-6f8ed743918d",
"user_id": "UID-308a48825add54c020b766ca3678973b",
"data": {
"code": "ALBOR_OAUTH_SUCCEEDED",
"access_token": "..."
}
},
"event_msg": ""
}
  • Error en el flujo:
{
"event_name": "EXT_ONLINE_EVENT.V1",
"event_payload": {
"client_id": "b12b3d65-359b-463a-9dd8-6f8ed743918d",
"user_id": "UID-308a48825add54c020b766ca3678973b",
"data": {
"code": "ALBOR_OAUTH_FAILED"
}
},
"event_msg": ""
}

Se podrán obtener las credenciales mediante el siguiente endpoint:

GET /auth/albor/token

Es un endpoint exclusivo para extensiones.

Respuesta:

{
"data": {
"access_token": "...."
}
}

En caso de no haber credenciales, el endpoint responderá con un http status code 404.